Some types of non-volatile memories are subject to errors in the data read from the memory, and that are caused by electrical noise. Such noise can be either random or systematic, or in some cases may have a component of each. Random noise may be difficult or even impossible to predict, but in many cases systematic noise may be predictable. Systematic noise that is the same for all cells in a page may be handled by various page-wide techniques, such as a moving read reference algorithm. However, if the systematic noise component is cell-dependent, or physical area-dependent, a page-wide treatment may not be effective since the read reference voltage is the same for all cells in the page. A more sophisticated approach is needed for such situations.